package model

import (
	"gitee.com/chunanyong/zorm"
	"strconv"
	"time"
)

// TrendChartPointsStructTableName 表名常量,方便直接调用
const TrendChartPointsStructTableName = "CMS_OPS_TEST.TREND_CHART_POINTS"

// TrendChartPointsStruct 趋势图点位数据
type TrendChartPointsStruct struct {
	//引入默认的struct,隔离IEntityStruct的方法改动
	zorm.EntityStruct

	//Id <no value>
	Id int `column:"ID" json:"id"`

	//Value <no value>
	Value string `column:"VALUE" json:"value"`

	//CollectAt <no value>
	CollectAt int64 `column:"COLLECT_AT" json:"collect_at"`

	//CollectTime <no value>
	CollectTime time.Time `column:"COLLECT_TIME" json:"collect_time"`

	//CollectDate <no value>
	CollectDate int `column:"COLLECT_DATE" json:"collect_date"`

	//DataKind <no value>
	DataKind int `column:"DATA_KIND" json:"data_kind"`

	//------------------数据库字段结束,自定义字段写在下面---------------//
	//如果查询的字段在column tag中没有找到,就会根据名称(不区分大小写,支持 _ 转驼峰)映射到struct的属性上
}

func (entity *TrendChartPointsStruct) Convert() {
	entity.CollectTime = time.Unix(entity.CollectAt/1000, 0)
	format := entity.CollectTime.Format("20060101")
	entity.CollectDate, _ = strconv.Atoi(format)
}

// GetTableName 获取表名称
// IEntityStruct 接口的方法,实体类需要实现!!!
func (entity *TrendChartPointsStruct) GetTableName() string {
	return TrendChartPointsStructTableName
}

// GetPKColumnName 获取数据库表的主键字段名称.因为要兼容Map,只能是数据库的字段名称
// 不支持联合主键,变通认为无主键,业务控制实现(艰难取舍)
// 如果没有主键,也需要实现这个方法, return "" 即可
// IEntityStruct 接口的方法,实体类需要实现!!!
func (entity *TrendChartPointsStruct) GetPKColumnName() string {
	//如果没有主键
	//return ""
	return "ID"
}
